﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using NIEN_LUAN.Db;
using System.Threading;
using System.Windows.Forms;

namespace NIEN_LUAN
{
    public partial class FormQuanLyNhaCungCap : Form
    {
        private DataContentDataContext db = new DataContentDataContext();
        public NHACUNGCAP NhaCungCapAdd = new NHACUNGCAP();

        public FormQuanLyNhaCungCap()
        {
            InitializeComponent();
        }                           

        private void FormQuanLyNhaCungCap_Load(object sender, EventArgs e)
        {            
           // this.dataGridViewDSNCC.AutoGenerateColumns = false;

            var nhacungcap = ( from ncc in db.NHACUNGCAPs
                               orderby ncc.TenNhaCungCap descending
                               select ncc
                               ).ToList();

            this.nHACUNGCAPBindingSource.DataSource = nhacungcap;
            this.dataGridViewDSNCC.DataSource = this.nHACUNGCAPBindingSource; 
        }

        private void toolStripButtonThem_Click(object sender, EventArgs e)
        {
            Form frmThemCTNCC = new FormChiTietNhaCungCap(this);
            var kq = frmThemCTNCC.ShowDialog();
            if (kq == DialogResult.OK)
            {
                this.nHACUNGCAPBindingSource.Add(NhaCungCapAdd);
                MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }

        private void toolStripButtonThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void toolStripButtonXoa_Click(object sender, EventArgs e)
        {
            var nhacungcap = this.nHACUNGCAPBindingSource.Current as NHACUNGCAP;
            if (nhacungcap != null)
            {
                var chitietnhap = (from m in db.PHIEUNHAPs
                                   where m.MaNhaCungCap == nhacungcap.MaNhaCungCap
                                   select m).Count();
                if (chitietnhap > 0)
                {
                    MessageBox.Show("Nhà cung cấp này có cung cấp hàng không thể xóa");
                    return;
                }
                var tl = MessageBox.Show("bạn có chắc chắn xóa?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (tl == DialogResult.Yes)
                {
                    try
                    {
                        db.NHACUNGCAPs.DeleteOnSubmit(nhacungcap);
                        db.SubmitChanges();
                        this.nHACUNGCAPBindingSource.RemoveCurrent(); return;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Đã có lỗi khi thực hiện thao tác này Chi tiết lỗi : "+ex.Message );
                        return;
                        // throw;
                    }
                }
            }
            else
            {

                MessageBox.Show("chọn nhà cung cấp để xóa");
            }
            //DialogResult traloi;
            //traloi = MessageBox.Show("Bạn có chắc không ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            //if (traloi == DialogResult.Yes)
            //{
            //    //kiem tra dieu kien xoa                
            //    nHACUNGCAPBindingSource.RemoveCurrent();
            //    db.NHACUNGCAPs.DeleteOnSubmit(nhacungcap);
            //    db.SubmitChanges();
            //    this.dataGridViewDSNCC.DataSource = this.nHACUNGCAPBindingSource;
            //    MessageBox.Show("Bạn đã xóa thành công !!!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            //}
        }

        public Db.NHACUNGCAP NhaCungCapSua = new NHACUNGCAP(); 
        private void toolStripButtonSua_Click(object sender, EventArgs e)
        {
            var nhacungcap = this.nHACUNGCAPBindingSource.Current as NHACUNGCAP;
            if (nhacungcap != null)
            {
                NhaCungCapSua = nhacungcap;
                var kq = new FormChiTietNhaCungCap(NhaCungCapSua, this).ShowDialog();
                if (kq == DialogResult.OK)
                {
                    nhacungcap.DiaChi = NhaCungCapSua.DiaChi;
                    nhacungcap.TenNhaCungCap = NhaCungCapSua.TenNhaCungCap;
                    nhacungcap.SoDienThoai = NhaCungCapSua.SoDienThoai;

                    this.nHACUNGCAPBindingSource.ResetCurrentItem();
                    MessageBox.Show("Đã cập nhật dữ liệu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }     
        }

        private void toolStripButtonIn_Click(object sender, EventArgs e)
        {
            Form frm = new FormReportNCC(this);
            frm.ShowDialog();
        }
    }
}
